package juanma;

import java.util.ArrayList;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

public class Backpack extends ArrayList<Item>{

	private static final long serialVersionUID = 1L;
	public String nombre;
	
	public Backpack(){
		nombre = "";
	}
	
	public Backpack(String unNombre){
		this.nombre = unNombre;
	}

	public Item buscarItem(String unNombre) {
		for(Item itemActual : this){
			if(itemActual.nombre.matches(unNombre))
				return itemActual;
		}
		
		return null;
	}

	public Element serializar(Document doc) {
		Element elementoBackpack = doc.createElement("Backpack");
		elementoBackpack.setAttribute("nombre", this.nombre);
		Element elementoItems = doc.createElement("Items");
		elementoBackpack.appendChild(elementoItems);
		for(Item item : this){
			elementoItems.appendChild(item.serializar(doc));
		}
		return elementoBackpack;
	}

	public static Backpack hidratar(Node nodeBP) {
		Backpack bpNuevo = new Backpack();
		bpNuevo.nombre = ((Element)nodeBP).getAttribute("nombre");
		Element elementoItems = (Element)nodeBP.getChildNodes().item(0);
		
		for(int i=0; i<elementoItems.getChildNodes().getLength(); i++){ 
			Item itemNuevo = Item.hidratar(elementoItems.getChildNodes().item(i));
			bpNuevo.add(itemNuevo);
		}
		
		return bpNuevo;
	}
	
}
